<?php
define('LANG', 'hu');
//define('LANG', 'en');
if(LANG == 'hu'){
	define('NO_CHANGE_NEEDED', 'Nincs mit frissíteni!');
	define('QUERY_ERROR', 'Adatbázis hiba');
	define('READY', 'Minden rendben lezajlott');
	define('START2WORK', 'Kezdem a munkát');
	}
elseif(LANG == 'en'){
	define('NO_CHANGE_NEEDED', 'There is nothing to upgrade!');
	define('QUERY_ERROR', 'Query error');
	define('READY', 'Everything went fine');
	define('START2WORK', 'Start to work');
	}

function getInSql(){
	//sql csatlakozási adatok lekérése és visszaadása
	$d = file_get_contents('./app/config/database.php');
	preg_match_all("/'host' => '(.*)'/", $d, $t);
	$host = $t[1][0];
	preg_match_all("/'login' => '(.*)'/", $d, $t);
	$login = $t[1][0];
	preg_match_all("/'password' => '(.*)'/", $d, $t);
	$password = $t[1][0];
	preg_match_all("/'database' => '(.*)'/", $d, $t);
	$database = $t[1][0];
	preg_match_all("/'prefix' => '(.*)'/", $d, $t);
	$prefix = $t[1][0];
	return(array(
		'host'=>$host,
		'login'=>$login,
		'password'=>$password,
		'database'=>$database,
		'prefix'=>$prefix));
	}

//sql kapcsolat
$sql = getInSql();
$link = mysql_connect($sql['host'], $sql['login'], $sql['password']);
$db_selected = mysql_select_db($sql['database'], $link);
//karakterkódolás
mysql_query("SET NAMES 'utf8'");

//melyik verzió van meg a fileok szintjén?
$verzio_file = trim(str_replace('what2Do: ', '', file_get_contents('./version-info')));

//kérjük le, hogy jelenleg melyik verzió van telepítve és onnantól kezdve hajtsunk végre minden szükséges lépést
$parancs = 'SELECT value FROM ' . $sql['prefix'] . 'settings WHERE name="version"';
$eredmeny = mysql_query($parancs);
$verzio_db = mysql_fetch_row($eredmeny);
if(!is_array($verzio_db)){
	//ha nem jött eredmény akkor 1.0.3-beta előtti telepítés van
	$verzio_db = 0;
	}
else{
	//1.0.3-beta vagy utánna lévő verzió
	$verzio_db = trim($verzio_db[0]);
	}

$kimenet = '';	
if($verzio_db == $verzio_file){
	//nothing to do
	$kimenet = NO_CHANGE_NEEDED;
	}
else{
	//1.0.2-beta 1.0.3-beta--------------------------------------
	//PRIORITÁS TÁBLÁBAN CSS DEFINÍCIÓ HOSSZÁNAK BŐVÍTÉSE
	$upgrade_sql['1.0.3-beta'][1] = 'ALTER TABLE `priorities` CHANGE `cssdef` `cssdef` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_hungarian_ci NOT NULL';

	//új AB tábla létrehozása
	$upgrade_sql['1.0.3-beta'][0] = 'CREATE TABLE `logs` (
		`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
		`ido` DATETIME NOT NULL,
		`tipus` VARCHAR( 255 ) NOT NULL ,
		`reszletek` TEXT NOT NULL
		) ENGINE = MYISAM';
	//1.0.2-beta 1.0.3-beta--------------------------------------

	//1.0.1-beta 1.0.2-beta--------------------------------------
	//1.0-beta 1.0.1-beta----------------------------------------

	//db parancsok végrehajtása
	$hiba = 0;
	foreach($upgrade_sql as $verzio_sqlp => $parancs){
		if($verzio_sqlp <= $verzio_file && $verzio_sqlp > $verzio_db){
			foreach($parancs as $p){
				if(!mysql_query($p)){
					$kiement .= QUERY_ERROR . ' ::: ' . $p . '<hr />';
					$hiba++;
					}
				}
			}
		}
	

	//ha minden sikeres verzió infó frissítése
	if(!$hiba){
		if($verzio_db)
			$parancs = 'UPDATE ' . $sql['prefix'] . 'settings SET value = "'. $verzio_file . '" WHERE name = "version"';
		else
			$parancs = 'INSERT INTO ' . $sql['prefix'] . 'settings (name, value) VALUES("version", "' . $verzio_file . '")';
		mysql_query($parancs);
		$kimenet = READY;
		}

	}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="hu" xml:lang="hu">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>What2Do</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="./app/webroot/css/what2Do.css" />
<style type="text/css">
body{color: #ffd;padding: 2em;font-size: 1.1em;}
a{color:#595;}
</style>
</head>
<body>
	<h1>what2Do Upgrade</h1>
<?php
	print $kimenet;	
?>
<h3><a href="./"><?php print START2WORK; ?> &raquo;</a></h3>
</body>
</html>